const db=wx.cloud.database()
const _=db.command
// 这个是顶部通知栏
import Notify from '@vant/weapp/notify/notify'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    TitleText:'登录',//登录注册标题跳转文字
    btnText:'登录',//登录注册按钮文字
    btnState:true,//按钮的禁用状态
    ToText:'新用户注册',//登录注册页面跳转文字
    userText:'',
    passwordText:'',
    gender: '', // 新增性别字段
    isRegister: false // 是否是注册界面
  },
    //通知栏成功显示内容
    Notify_success(e){
      Notify({
        message: e,
        type: 'success', // 可选的类型，比如 success, warning, primary 等
        duration: 2000, // 显示的时间，单位毫秒，默认 3 秒后自动关闭
      });
    },
    // 通知栏失败通知
    Notify_fail(e){
      Notify({
        message: e,
        type: 'danger', // 可选的类型，比如 success, warning, primary 等
        duration: 2000, // 显示的时间，单位毫秒，默认 3 秒后自动关闭
      });
    },
   //登录注册页面相互跳转
   change(){
       let that=this
       let type=that.data.TitleText
       if(type=='登录')
       {
           that.setData({
            TitleText:'注册',
            btnText:'注册',
            ToText:'返回登录',
            userText:'',
            passwordText:'',
            userValue:'',
            passwordValue:'',
            gender: '', // 重置性别选择
            isRegister: true, // 设置为注册模式
            btnState:true
           })
       }
       else{
        that.setData({
            TitleText:'登录',
            btnText:'登录',
            ToText:'新用户注册',
            userText:'',
            passwordText:'',
            userValue:'',
            passwordValue:'',
            gender: '', // 重置性别选择
            isRegister: false, // 设置为登录模式
            btnState:true
           })           
       }
   },
   ///获取用户名和密码，注册和登录共用一个
   getinput(e){
       let that=this
       let type=e.currentTarget.dataset.id
       let value=e.detail.value
       console.log(type,':',value);
       if(type=='user')
       {
           that.setData({userText:value})
       }
       else{
           that.setData({passwordText:value})
       }
       this.checkFormValid();
   },
   // 检查表单是否有效
   checkFormValid() {
     const { userText, passwordText, isRegister, gender } = this.data;
     let isValid = userText && passwordText;
     
     // 如果是注册界面，需要验证性别
     if (isRegister) {
         isValid = isValid && gender;
     }
     
     this.setData({
         btnState: !isValid
     });
   },
  // 注册和登录
  login() {
    let that = this;
    let type = that.data.TitleText;

    // 如果是注册且未选择性别，提示用户
    if (type === '注册' && !that.data.gender) {
      that.Notify_fail('请选择性别');
      return;
    }

    if (type === '注册') {
      wx.showLoading({
        title: '正在注册',
      });

      // 调用云函数
      wx.cloud.callFunction({
        name: 'checkRegister',
        data: {
          action: 'register',
          username: that.data.userText,
          password: that.data.passwordText,
          gender: that.data.gender // 添加性别参数
        }
      }).then(res => {
        wx.hideLoading();
        console.log('注册状态', res.result.code);
        if (res.result.code === 0) {
          // 注册成功
          that.Notify_success(res.result.msg);
          // 更新页面状态
          that.setData({
            TitleText: '登录',
            btnText: '登录',
            ToText: '新用户注册',
            userValue: that.data.userText,
            passwordValue: that.data.passwordText,
            gender: '', // 重置性别
            isRegister: false, // 设置为登录模式
            btnState: false
          });
        } else {
          // 注册失败
          that.Notify_fail(res.result.msg);
        }
      }).catch(err => {
        wx.hideLoading();
        that.Notify_fail('服务器错误');
      });
    } else {
      console.log('进入登录');
      wx.showLoading({
        title: '正在登录',
      });

      // 调用云函数
      wx.cloud.callFunction({
        name: 'checkRegister',
        data: {
          action: 'login',
          username: that.data.userText,
          password: that.data.passwordText
        }
      }).then(res => {
        wx.hideLoading();
        console.log('res',res);
        console.log('登录状态', res.result.code);
        if (res.result.code === 0) {
          // 登录成功
          that.Notify_success(res.result.msg);
          wx.setStorageSync('userinfo', res.result.res.data[0]);
          setTimeout(() => { // 延迟 1 秒跳转
            wx.switchTab({ // 跳转到首页
              url: '/pages/index/index',
            });
          }, 1000);
        } else {
          // 登录失败
          that.Notify_fail(res.result.msg);
        }
      }).catch(err => {
        wx.hideLoading();
        that.Notify_fail('服务器错误');
      });
    }
  },
    // 新增性别选择处理函数
  onGenderChange(e) {
    this.setData({
        gender: e.detail
    });
    this.checkFormValid(); // 检查表单是否有效
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})